Proyecto Machine Learning

Análisis EDA

Lectura de datos

Descripción de las variables

El dataset seleccionado estudia los casos en el que el encuestado ha presentado enferemedad coronaria o infarto de miocardio en funcion de otras características.

  1. HeartDissease: Variable de estudio. Encuestados que alguna vez sufrieron de enfermedad coronaria o infarto de miocardio.
  2. BMI: Índice de masa coorporal.
  3. Smoking: Personas que se han fumado más de 100 cigarros en toda su vida (1)
  4. AlcoholDrinking: Positivo para varones que beben más de 14 bebidas alcoholicas por semana o mujeres más de 7.
  5. Stroke: Accidente cerebrovascular.
  6. PhysicalHealth: Cantidad de días lessionado fisicamente durante los últimos 30 días.
  7. MentalHealth: Cantidad de días con mala salud mental durante los últimos 30 días.
  8. DiffWalking: Dificultad para andar o subir escaleras.
  9. Sex: Sexo del encuestado.
  10. AgeCategory: Rango de edad del encuestado.
  11. Race: Raza del encuestado.
  12. Diabetic: Diabetes.
  13. PhysicalActivity: Encuestados que reportan haber hecho ejercicio durante los últimos 30 días además de su trabajo.
  14. GenHealth: Calificación del encuestado sobre su salud.
  15. SleepTime: Media de horas de sueño.
  16. Asthma: Asma.
  17. KidneyDisease: Infección de vejiga o incontinencia.
  18. SkinCancer: Cáncer de piel.

Valores faltantes

Se procede a estudiar la existencia de valores faltantes que requieran una imputación.

No existen valores faltantes en el dataset.

Variable de estudio "HeartDisease"

Variables numéricas

Variables nominales

Conversión variables categóricas

Se procede a convertir en tipo numérico todas las variables para poder emplear los modelos.

Variables ordinales

Conversion variables ordinales

Codificación de variables

Previamente se realiza una codificacion adecuada de las variables.

Codificación nominal

Codificación ordinal

Codificacion numérica

División train/test

Resample

Reducción de la dimensionalidad

Correlación

Se estudia el método de las correlaciones para conocer las variables con mayor correlación con la variable de estudio "HeartDisease"

Nos quedamos con la columna de interes "HeartDisease" para observarla en detalle.

Las variables "SleepTime", "AlcoholDrinking", "Race" y "MentalHealth" presentan una escasa correlación con la variable "HeartDisease" lo que significa que no explican de manera significativa la variable de estudio por lo que se podría estudiar su eliminacion del set de datos.

PCA

Se emplea la técnica de Análisis de Componentes Principales mediante la librería ScikitLearn.

Conclusión

Con el análisis de componentes principales podemos quedarnos con las 12 primeras componentes que explican casi el 98% de la varianza.

Plot 3D PCA

Aprendizaje no supervisado

DBSCAN

Se realiza un DBSCAN para tratar de etiquetar cada nodo que aparece en el plot en 3D de las componentes principales.

KMeans

Aprendizaje supervisado

Logistic Regression

KNN

Decision Tree

Random Forest

SVM

print(confusion_matrix(y_test, pred))

Ajuste de hiperparámetros del modelo

RandomizedSearchCV

Métricas de evaluación

ROC_AUC_SCORE

La métrica roc_auc_score establece el cociente entre entre verdaderos positivos y falsos positivos.

RECALL_SCORE

La metrica Recall establece el cociente entre verdaderos positivos entre positivos totales.

Evaluación de modelos